1. Cross Reference To Microfiche Appendix
This application includes a computer program listing in the form of Microfiche Appendix A which is being filed concurrently herewith as 655 frames (not counting target and title frames) distributed over 7 sheets of microfiche in accordance with 37 C.F.R. .sctn.1.96. The disclosed computer program listing is incorporated into this specification by reference but it should be noted that the source code and/or the resultant object code are subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document (or the patent disclosure as it appears in the files or records of the U.S. Patent and Trademark Office) for the purpose of studying the disclosure but otherwise reserves all other rights to the disclosed computer program including the right to reproduce said computer program in machine-executable form.
2. Field of the Invention
This invention relates generally to a data acquisition system having a capability to display in plotted from one or more continuous streams of digital data samples and more specifically to a display system which uses a combination of standard computer graphic display adaptors and graphic monitors together with specialized software for the real-time production of sample point plots.
3. Description of the Relevant Art
The need to visualize or display in real time a graphic image of continuous streams of data emanating from one or more measurement instruments during data acquisition is well known. By way of example, medical experiments or tests tend to produce voluminous amounts (i.e., more than 1000 points or more than 1,000,000 points) of result data and it is desirable to know from the outset of data collection whether the produced results are within a generally expected range. It is also preferable to know immediately when unusual results are being produced so they can be immediately noted, corrected and/or investigated if so desired.
The preferred display mode is a real-time graphic one. That is, waveshape recognition or recognition of other graphic information relating to the collected data should occur simultaneously or almost simultaneously with the production of data. Preferably, the display image should be of a form that can be permanently retained for re-production and study at later times.
Traditionally, real-time graphic display and permanent storage of result information have been achieved in unison through the use of a conventional paper chart recorder. A voltage signal or other signal of interest is amplified as necessary and applied to move a recording pen across the surface of a continuously streaming paper chart (or "strip chart"). A waveshape of the received information is thereby continuously inscribed onto a paper record and supplied cut of the recorder for immediate viewing. The paper trace provides a nearly real-time visual display of the time versus voltage characteristics of the signal or of other signal characteristics that are to be studied, and the paper record stores the image for later re-examination.
Because traditional chart recorders employ ink pens or other mechanical parts to write the signal image to paper, they cannot faithfully display, in real time, rapidly changing signals such as for example signals having a frequency component of 200 Hz or more.
Recently, paper recording devices have been devised which digitize incoming analog voltage signals and inscribe the digitized form to paper using a rapidly responding printing means such as a thermal writing micro-array or by using electro-static or photographic methods of recording on paper. Examples of such devices include the Gould Electronics Model TA2000 or ES 2000 Electrostatic Recording stem, by Gould Inc. Recording Systems, 3631 Perkins Avenue, Cleveland, Ohio, 44114; and the Model ME-9500 8-channel recorder by Astromed Inc., West Warwick, R.I., U.S.A.
These newer recorders can reliably display in real-time signals having a maximum frequency of approximately 5 to 8 kHz. The new digitizing recorders are provided with features such as adjustable "paper speeds", i.e. the rate at which signals are inscribed and paper is rolled out is adjustable, so as to allow for either compression of long durations of slow-changing signals into a single short length of paper, or alternatively by using rapid paper speed, to allow brief events to be expanded over long segments of rapidly streaming paper for high event resolution.
But despite such features, the newer recorders still have disadvantages. Aside from having a restriction on the maximum signal frequency which can be reliably displayed, (no higher than about 8 kHz), these newer forms of digitizing recorders suffer from the fact that both the real-time nature of the display and the storage of the display depends on paper or some other write-once recording medium which has the disadvantages of being non-reusable, expensive to purchase, inconvenient to review and bulky to store.
Recently, attempts have been made to use the data acquisition and storage capabilities of so-called personal computers (low-cost microcomputers) to collect, and store for later study, sample values of analog signals. A typical IBM PC or compatible microcomputer is used in combination with a suitable magnetic medium type of storage device (e.g. a "hard" disk), an analog to digital signal adaptor board, and a video display driver (e.g. color graphics adaptor (CGA), enhanced graphics adaptor (EGA), or virtual graphics array (VGA)). The analog to digital adaptors usually come in the form of a single printed circuit board, which includes an analog to digital converter (A/D) system. The adaptor board is inserted into a standard computer bus slot in the personal microcomputer to provide the necessary hardware components for digitizing analog signals. Single board A/D adaptor systems are manufactured and marketed, for example, by companies such as Data Translation, Inc., 100 Locke Drive, Marlborough, Mass., 01752, Scientific Solutions, 6225 Cochran Road, Solon, Ohio, 44139, and National Instruments, 12109 Technology Boulevard, Austin, Tex., 78727-6204.
When driven by suitable software, these combinations of a personal computer plus one or more A/D adaptor boards have the capability of receiving continuous analog voltage signals on plural A/D channels, digitizing the voltage signals to generate a representative stream of sequential sample point values, passing the digital sample point values to a random access memory (RAM) buffer section of the computer and from there to permanent storage in the files of a magnetic disk.
Some A/D adaptor boards are provided with relatively high performance components to allow direct memory access (DMA) transfer of binary data from RAM to disk so that signal digitization and transfer can take place at the peak rate of the A/D converter system and thus faithful recording of signals having relatively high frequency content is made possible.
Currently, there are several software programs on the market which provide total throughput rates (sampling, digital data transfer to RAM, and permanent hard disk storage) which roughly match the maximum rate of digitization of the A/D converter system taken alone. For example, using an ASYST.TM. software package (McMillan Software Company, 866 Third Avenue, New York, N.Y., 10022), together with Data Translation's "high speed" A/D board Model No. 2821F, one can continuously sample and store to permanent disk storage at rates as high as approximately 130,000 samples/second (thereby allowing for faithful reproduction of signals having a maximum frequency of 65 KHz or less). But this high speed performance applies only for retention of signal information and not to systems where the sampled information is to be simultaneously displayed as a graphic plot during data collection.
Display systems tend to have a bit rate limitation, independent of the A/D system bit rate limitation, which prevents sample points from being displayed in plotted form at rates higher than a fixed number of sample points per second. Accordingly, even as A/D digitizing rates rise and maximum computer to storage data transfer rates increase, the display rate limitation acts as a bottleneck which prevents real-time display on a point-by-point basis of the incoming signal samples. Heretofore, the operation of sampling and storage had to be conducted in the "blind" if one wished to avoid the display rate limitation. But this mode of blind collection is undesirable in that it deprives the experimenter of valuable information. Blind data collection leaves the user without the option to take immediate corrective action should something go awry.
When currently available A/D boards sample incoming voltage signals at standard, moderate to high sampling rates, the number of digital data points generated by the A/D system can easily exceed the ability of the host computer's video display driver and/or monitor to immediately display the entirety of the continuous stream of data points onto screen. The computer display subsystem cannot keep pace with the A/D subsystem, and therefore cannot display in real-time the waveshapes of signals being received by the A/D subsystem.
In existing software packages, when a voltage signal is digitized by the A/D board, each successively digitized sample point value is converted by the computer into X and Y screen coordinates, as it is received, and it is then processed sequentially via the video display driver and plotted to the screen. Since a finite time interval is required for mapping into screen coordinates and writing each successive point into a video buffer, a display rate limit is imposed by both the computer hardware and the application software upon the rate of continuous data sampling that can be visualized. That is, there is a limit on the maximum signal frequency that can be adequately displayed in real-time, while sample data is being produced. Additionally, when real time storage is required, time has to be allotted in each processing cycle for the computer to store the incoming data samples in appropriate locations on the magnetic disk. This storage time further limits the maximum signal frequency that can be displayed in real-time.
Ideally, users would like to view the waveshapes of incoming signals, even those having relatively high frequency, and to simultaneously record the waveshapes permanently for later review by suitable analysis means (i.e. software types of signal analysis tools) utilizing low-cost computers, A/D board and software. But heretofore, a low-cost combination of hardware and software has not been available for realizing such a goal.
A computer program sold under the name Lab Tech Notebook.TM. by Laboratory Technologies Corporation, 400 Research Drive, Wilmington, Mass., 01887, is representative of the peak performance available from prior art data acquisition programs. The maximum rate of continuous sampling and permanent storage of incoming data that is possible while simultaneously providing a real-time display is limited in prior art systems to a maximum total rate of sampling not greater than approximately one thousand samples per second. When a typical number of (i.e., 8) separate signals are to be processed in a time multiplexed manner on a corresponding number of (i.e., 8) channels, the maximum rate at which each individual signal can be sampled, visualized, and stored is divided down to a restrictively low rate of approximately 100-200 samples per second (SPS). Thus, previously existing programs cannot successfully display in real-time and simultaneously store incoming signals, except at very slow rates of sampling (i.e., 100-200 SPS per channel) that are only a fraction of the the maximum sampling rates (i.e., 16,000 SPS per channel) available with many popular A/D boards. At higher rates of sampling, either the display points have to be visualized on a non real-time basis, i.e., they lag in time behind the newest burst of incoming data points, or the display capability is simply not available and data collection takes place in the "blind".
Besides this inability to display data in real-time, previously existing data acquisition software packages have not been able to quickly provide any permanent printed record equivalent to the output of the traditional paper recorder. Thus, if a disk "crash" occurs well after the time of an in-the-blind collection session but before there is time to make a hard-copy print-out of the data collected, the entirety of the results from the experiment may be lost without giving the experimenter a chance to visualize or review even gross aspects of the results. The fruits of all efforts put into conducting the experiment are completely destroyed.
With respect to visualizing the experimental results, post-collection "playback" or "replay" of stored digital data could satisfy the requirement for a reviewable, permanent record of the experimental results, but this does not allow for the same kind of immediate feedback and optional reaction made possible by displaying incoming data in real-time. While a subsequently printed hard-copy plot of the results might be provided as a reviewable record after the facts, the production of a visually pleasing and/or useful record usually requires some degree of a priori knowledge. Certain functional features found in the conventional chart recorders, such as the ability to select different paper speeds "on the fly" (as the experiment is proceeding) turn out to be extremely useful. Most digital printers feed their paper at a fixed speed making such "on the fly" adjustments to paper speed impossible. If an eye-pleasing plot is to be produced, it is advantageous to give the experimenter the ability to adjust the characteristics of the data acquisition system in real time (at the time the experiment is being carried out) rather than waiting till later and relying only on post-experiment data-editing processes so that a visually pleasing and thereby more useful record is immediately produced. It is undesirable to wait until after the experiment has been completed and to realize only then that perhaps changes should have been made to the data collecting process, i.e., some segments of a hard-copy print-out whose specific locations are now forgotten should have been compressed by using slow paper speed and others should have been expanded by using a faster paper speed so as to emphasize key portions of the result data.
Even before an experimental run begins, it is useful to have knowledge of the magnitude range and frequency range of the initial waveshapes generated during the set-up of the experiment. The experimenter should be able to dynamically use this knowledge to adjust the recording instrumentation during set-up, before the experiment begins, in order to produce a visually useful and more pleasing record. Ideally, the experimenter should be able to stretch the amplitude of each waveform plot so that it occupies the full vertical span of the display screen and thus provides maximum magnitude resolution on screen if so desired. And the experimenter should also be able to alter the horizontal spacing between plot points on screen in real-time so as to optimize visual appreciation of time related characteristics (i.e., slope or frequency) of one or more plotted waveforms. It is difficult for a human being to produce an acceptable plot (video or hardcopy) having such effects after a "blind" digital collection session because the only information available prior to beginning such a plot is a digital data file which is stored on a computer hard disk in the form of a series binary-coded values. Direct print-out of such a file provides only a list of numbers in text form, not a graphic plot whose attributes are adjustable on the fly.
The best of the previously available combinations of personal computers, single board A/D systems, printers and data acquisition software fail to fulfill the need for a low-cost data acquisition system which provides continuous real-time display of visually pleasing plots and reviewable storage of high frequency input signals. Even the capabilities of the earlier paper chart recorders are not matched by these personal computer forms of data acquisition systems.
Attempts have been made to circumvent the inability of the low-cost personal computer systems (video graphics adaptors, monitors and software) to successfully "keep up with" and plot each successive incoming data point as it is digitized by the A/D board. But these attempts have directed themselves to the use of high cost and very specialized computer hardware. Dedicated hardware has been designed by some to supplement or accelerate the capability of the video adaptor which drives the microcomputer monitor and thereby enable a limited form of real-time data acquisition and display. This hardware attempt does not address, however, a limitation which arises primarily from the software control program, namely that it takes the microprocessor a finite amount of time to map each raw binary number representing a signal level into a memory address associated with specific screen coordinates and to transfer such mapped (transformed) data to a video buffer. The software limitation remains despite hardware augmentation to the system video driver board.
The above mentioned use of specialized computer hardware has been popularized by the CODAS system available from DATA Instruments Inc., 825 Sweitzer Avenue, Akron, Ohio, 44398-6140. A proprietary and dedicated videoboard ("scrolling" board) is inserted into a predetermined slot in the microcomputer to increase the real-time display rate of the computer monitor in a specific "scrolling" format. That is, the addition of the CODAS, "scrolling" board allows the microcomputer monitor to more rapidly write to screen each successive digital data point as it is generated by exploiting additional hardware plus software to continuously and automatically "scroll" the display, i.e., to continuously roll all of the visual information on the screen with the latest points appearing at one edge of the screen while the oldest points pass off and disappear at the opposite side of the screen. When this CODAS board plus accompanying software is used with standard personal computer systems (A/D boards and monitors), a modest increase in real-time display and storage of digital data samples is realized, typically to a maximum of 4,000 samples per second. This means that when the more powerful of standard microcomputers are used (i.e. an Intel 80386 system) in combination with a high throughput rate (50-130 kHz) A/D board system, the maximum rate of display sampling and storage available for a typical set of 8 incoming voltage signals would be a maximum of 500 samples per second per channel. Such performance still compares unfavorably against the maximum display and storage throughput of the older chart recorders, and this display solution does not yet provide a permanent reviewable log since the waveshapes are shown only momentarily on a scrolling video display.
The attempts to substitute or add specialized hardware to work around the failings of standard computer systems (A/D board, and software) has recently been carried a step further in another type of CODAS system by the same DATA Instruments company. Additional, more specialized, hardware has been created in the form of an advanced "scrolling board" which removes the standard A/D card from the computer system and replaces it with a proprietary combination board which includes both a videographic scrolling capability and analog/digital conversion circuitry. When a computer is outfitted with this special "scrolling" board, a maximum of 50,000 digital data samples per second (approximately 6,000 SPS per channel in an 8 channel system) can be passed to hard disk storage while continually being displayed in a special "scrolling" display format.
Thus, by supplanting the commercially standard computer video adaptors previously used, abandoning the standard A/D board design, and turning to a custom scrolling screen display format requiring a special item of hardware, the newer CODAS system is able to provide a moderate rate of real-time display and store the displayed points for later review on screen.
While this display ability does finally rival the ability of the traditional paper recorder to display moderate frequency signals of several kHz, it is realized with the penalty of severe restrictions. A first penalty arises in that the real-time scrolling display does not allow for a full vertical resolution across the video screen as provided across the paper width of contemporary electrostatic paper recorders because the size of the scroll buffer has to be limited. And the only record made available for later review by the "scrolling" board is the same scrolling display created during real-time acquisition. Another penalty comes from the fact that the standard video graphics adaptors have been supplanted by proprietary single-vendor hardware, and accordingly, many common A/D boards which could offer greater sampling performance and/or lower cost are not compatible. Thus, it can be seen that such hardware augmentation only circumvents but does not overcome an inherent limitation of the data acquisition process, namely, the time it takes a CPU to map into display coordinates and transfer to a screen or printer the raw sample point data produced by the A/D board.
Data acquisition software needs to be designed which can overcome the mapping limitation and successfully generate a real-time display of incoming data at the highest rates of sampling of contemporary A/D boards, or accommodate even higher rates of future planned A/D boards. The real-time display of incoming data should appear relatively continuous despite simultaneous transfer of bursts of incoming data to permanent storage (i.e., hard disk) and despite improvements to the rate at which the hard disk or other medium can physically accept the flow of incoming data. That is, the displayed plots should not lag in time by any appreciable amount behind the latest salvo of result data that is being produced by the measurement equipment. The maximum sampling rate and permanent storage rate of incoming data points should be limited only by the speed of the A/D subsystem and the ability of the storage medium to accept the flow of data, not by the limitations of the display system. All this should preferably be achieved through software modification rather than hardware addition so that the necessity or cost of adding specialized hardware to enhance performance or supplant any usual component of a standard microcomputer-A/D system is avoided. And the successful mimicking of the ability of traditional chart recorders to perform real-time display and storage of continuous voltage signals will not be truly complete unless the data acquisition software also provides a mechanism for quickly producing a high resolution hard copy record of the collected data as would be done by the traditional paper chart recorder.